<!DOCTYPE html>
<html lang="zn">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组的方法</title>
    <script>
        var arr = ["孙悟空","猪八戒","沙和尚","唐僧","白骨精"];

        /*
            slice()
                -可以用来从数组提取指定元素
                -该方法不会改变原数组，而是将截取到的元素封装到一个新数组中返回
                -参数：
                    1.截取开始的位置索引，包含开始索引
                    2.截取结束的位置的索引，不包含结束索引
                        -第二个参数可以省略不写，此时会截取从开始索引往后的所有元素
                        -索引可以传递一个负值，如果传递一个负值，则从后往前计算
                            -1  倒数第一个
                            -2  倒数第二个
        */

        var result = arr.slice(1,4);
        result = arr.slice(3);
        result = arr.slice(1,-2);
        console.log(result);


        /*
            splice()
                -可以用于删除数组中的指定元素
                -使用splice()会影响到原数组，会将指定元素从原数组中删除
                    并将删除的元素作为返回值返回
                -参数
                    -第一个：表示开始位置的索引
                    -第二个：表示删除的数量
                    -第三个及以后
                        可以传递一些新的元素，这些元素会自动插入到开始位置索引前边
        */

        arr = ["孙悟空","猪八戒","沙和尚","唐僧","白骨精"];
        var result = arr.splice(3,1,"牛魔王","铁扇公主");
        console.log(arr);
        console.log(result);

        // 创建一个数组
        var arr = [1,2,3,2,2,1,3,4,2,5];

        // 去除数组中重复的数字
        // 获取数组中的每一个元素
        for(var i=0;i<arr.length;i++){
            // console.log(arr[i]);
            for(var j=i+1;j<arr.length;j++){
                if(arr[i] == arr[j]){
                    arr.splice(j,1);
                    // 当删除了当前j所在的元素以后，后边的元素会自动补位
                    // 此时将不会再比较这个元素，需要再比较一次j所在位置的元素
                    // 使j自减
                    j--;
                }
            }
        }

        console.log(arr);
    </script>
</head>
<body>
    
</body>
</html>